{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "ba565d45-f47a-4888-9a22-bea6d5709ba4",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2022-03-28T02:52:43.928337Z",
     "iopub.status.busy": "2022-03-28T02:52:43.927220Z",
     "iopub.status.idle": "2022-03-28T02:52:44.491622Z",
     "shell.execute_reply": "2022-03-28T02:52:44.491003Z",
     "shell.execute_reply.started": "2022-03-28T02:52:43.928302Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "生成二维随机数组： [[0.05809443 0.14023057]\n",
      " [0.7273995  0.49687016]\n",
      " [0.78917214 0.2397011 ]\n",
      " [0.96746386 0.19761837]\n",
      " [0.83173666 0.15147688]]\n",
      "[ 0.31625276 -1.02320089 -0.94872493 -1.65138868  1.03063446 -0.1171245\n",
      "  0.80360762 -1.58057605  1.01977207 -0.36192999 -0.98365634 -1.28217545\n",
      "  0.16970336  0.82272626 -1.33428932  0.43719863  0.67614149  0.26673979\n",
      "  0.77435424  0.0658841   0.8128975  -0.16213822 -0.21221473 -1.2847982\n",
      "  1.42233982 -0.65110876 -2.00670845 -0.75690662  1.27043433  1.90049576\n",
      " -2.23732691 -2.41553757  0.15760289 -0.4090017   0.1243476   1.17383574\n",
      "  0.23697801 -0.67757863 -1.59422556 -1.68125945 -1.66499856  0.44371041\n",
      "  0.24657609  0.58529567  0.91246618 -0.11091486  1.32852439 -1.04194645\n",
      " -0.3602873  -0.95673288  1.20588593 -0.17168901 -1.13394284 -0.43320372\n",
      " -0.25614716  0.22752542  1.8165825  -1.03535851 -0.21523376  0.83135193\n",
      " -0.12364929 -0.79879574  0.39329822 -0.1684254   0.8740776   0.08237135\n",
      "  0.68777555 -0.1645823   0.11207664  1.96144273 -0.25901702 -0.79250394\n",
      " -1.19802196  0.67413388 -1.13417384 -0.08153251  0.85710463 -1.06358095\n",
      " -0.0093522  -0.70574581  0.1363013   0.21056211  1.00135766  0.50888901\n",
      " -1.35179867  0.6797272   0.23762783 -0.47267933  1.21494523  0.47636876\n",
      " -1.01650726  1.20358292 -0.90377418  0.93299022  0.23864172  0.51945769\n",
      "  0.54311423  0.79635679  0.20492172 -1.14874302]\n",
      "生成1-100（不包括100）的10个随机整数： [85 66 47 39 13 26 21 27  7 17 69 95 62 24 72 37 77 92 76 68 83 39 71 26\n",
      " 72 54 93 69 73 75 39 24 41 42 49 37 91 75 87 29 56 10 20 18 38 79 73 30\n",
      " 11 71  5 86 40 36  2 37 67 21 73 47 42 43 54 30 14 46 46 67  5 17 91 77\n",
      " 80 96 71  5 85 15 19 43 59 25 47 97 49 86 18 81 52 13 26  2 73 96  6 98\n",
      " 34 82 80 75]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f16e8138b90>]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 随机数组\n",
    "import numpy as np \n",
    "n=np.random.rand(5,2)\n",
    "print(\"生成二维随机数组：\",n)\n",
    "n1=np.random.randn(100)\n",
    "print(n1)\n",
    "import matplotlib.pyplot as plt \n",
    "fig,axes=plt.subplots(2,2)\n",
    "ax1=axes[0,0]\n",
    "ax1.hist(n1)\n",
    "ax1.grid()\n",
    "n2=np.random.randint(1,100,100)\n",
    "print(\"生成1-100（不包括100）的10个随机整数：\",n2)\n",
    "n3=np.random.normal(0,100,10000)\n",
    "ax2=axes[0,1]\n",
    "ax2.hist(n3)\n",
    "ax2.grid()\n",
    "ax3=axes[1,0]\n",
    "ax3.plot(n2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "1f0d69de-b8f0-4512-b873-62374515bbf4",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2022-04-04T03:01:00.187097Z",
     "iopub.status.busy": "2022-04-04T03:01:00.186542Z",
     "iopub.status.idle": "2022-04-04T03:01:00.949803Z",
     "shell.execute_reply": "2022-04-04T03:01:00.949139Z",
     "shell.execute_reply.started": "2022-04-04T03:01:00.187062Z"
    },
    "scrolled": true,
    "tags": []
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "分班成绩排序： [[20 27 28 29 29 31 31 31 32 33 33 35 35 36 37 38 38 42 43 45 47 48 48 48\n",
      "  49 50 50 51 53 56 56 60 66 69 71 74 74 77 82 84 85 89 91 92 93 94 95 97\n",
      "  97 98]\n",
      " [20 20 23 24 25 26 31 32 32 34 35 35 36 36 37 37 37 38 42 43 45 49 50 51\n",
      "  52 53 54 57 60 61 62 64 65 68 70 70 70 71 73 74 77 77 82 84 91 93 93 97\n",
      "  99 99]\n",
      " [22 23 24 27 28 29 29 29 31 33 33 41 42 42 45 47 48 48 50 50 50 52 53 53\n",
      "  57 58 59 60 61 63 63 68 72 82 82 82 85 86 87 88 90 91 92 93 94 95 95 96\n",
      "  97 98]]\n",
      "将多维成绩数组变更为一维数组，并排序： [20 20 20 22 23 23 24 24 25 26 27 27 28 28 29 29 29 29 29 31 31 31 31 31\n",
      " 32 32 32 33 33 33 33 34 35 35 35 35 36 36 36 37 37 37 37 38 38 38 41 42\n",
      " 42 42 42 43 43 45 45 45 47 47 48 48 48 48 48 49 49 50 50 50 50 50 50 51\n",
      " 51 52 52 53 53 53 53 54 56 56 57 57 58 59 60 60 60 61 61 62 63 63 64 65\n",
      " 66 68 68 69 70 70 70 71 71 72 73 74 74 74 77 77 77 82 82 82 82 82 84 84\n",
      " 85 85 86 87 88 89 90 91 91 91 92 92 93 93 93 93 94 94 95 95 95 96 97 97\n",
      " 97 97 98 98 99 99]\n",
      "三个班总的成绩平均值为： 57.29333333333334 标准差为： 23.74406498942888 方差为： 563.7806222222224 最高分为： 99 最低分为： 20 中位数为： 52.5\n",
      "三个班总的成绩平均值为(四舍五入）： 57.0 标准差为(向上取整）： 24.0 方差为（向下取整）： 563.0 最高分为： 99 最低分为： 20 中位数为： 52.5\n",
      "每一个班的最高成绩： [98 99 98]\n",
      "每一个班的平均成绩： [46.66666667 47.         65.         53.         74.         48.33333333\n",
      " 83.         57.         54.33333333 82.66666667 42.66666667 29.33333333\n",
      " 52.33333333 55.33333333 49.33333333 89.         78.33333333 77.\n",
      " 74.66666667 59.66666667 86.33333333 67.33333333 47.66666667 61.\n",
      " 62.66666667 50.66666667 40.33333333 45.33333333 53.66666667 41.33333333\n",
      " 53.66666667 49.66666667 49.         54.66666667 58.66666667 54.66666667\n",
      " 46.33333333 35.         62.66666667 75.66666667 56.33333333 48.66666667\n",
      " 53.33333333 78.33333333 39.33333333 34.         36.         54.33333333\n",
      " 73.66666667 75.66666667]\n"
     ]
    },
    {
     "data": {
      "image/png": "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p+paGAAANNIRLb04++yzPb0JAIApoS53vfje976XRx55JPPnz89nP/vZtw3T9bjV0FjfQuaXvTpuV5r8GnF7nvHuL7+KWsp+uZbx/p1787Un0ucCQOO946D8sY99LL/7u7+bJLn//vvzV3/1V1m5cmVx33rcamisbyHD2GnEz20i9Re1lDW6ljdf+3BrOdrbDAFwbHnHd72YNWtWpk2blmnTpmXZsmX54Q9/WI+6AACgod5xUB4aGhr99/e///3MmzfvnZ4SAAAa7oiWXqxZsyY/+MEPsnPnzlx99dVZsWJFNm/enB//+MepVCqZPXt2Pve5z41VrQAAMG6OKChff/31b3nt4osvrlsxAAAwUXgyHwAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFDQ3ugAAxs7u3btz77335qc//WkqlUquueaadHZ2pqenJ6+99lpmz56dG264ITNmzGh0qQATjqDMuDnwh58at2s1/cX/N27XSg6vba/W8Xrj3T6OXevWrcu5556b//gf/2P279+f119/Pd/+9rezcOHCLF++PL29vent7c0VV1zR6FIBJhxLLwAmqT179uSf//mfc/HFFydJmpubc+KJJ6a/vz9LlixJkixZsiT9/f2NLBNgwjKjDDBJbdu2LTNnzsw999yTn/zkJ5k/f36uvPLKDA8Pp7W1NUkya9asDA8PN7hSgIlJUAaYpA4cOJAXX3wxV111Vc4666ysW7cuvb29B+1TqVRSqVSKx/f19aWvry9J0t3dnY6OjjGvmYlvLPpBc3PzmPYvfZejJSgDTFLt7e1pb2/PWWedlSRZvHhxent709LSkqGhobS2tmZoaCgzZ84sHl+tVlOtVke3BwYGxqVuJrax6AcdHR1j2r/0XTo7O4/qOGuUASapWbNmpb29PVu2bEmSPPPMMzn11FPT1dWVDRs2JEk2bNiQRYsWNbJMgAnLjDLAJHbVVVflrrvuyv79+3PyySdn5cqVqdVq6enpyfr160dvDwfAWwnKAJPY6aefnu7u7re8vmrVqgZUA3BssfQCAAAKBGUAACgQlAEAoEBQBgCAgmPuj/le/XcXNLoEmFIO/OGnxvT8r47p2QHg6JlRBgCA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r9dqtV/0k//9v/93Q/rLT37yk9of//Ef1/bt21fbv39/7U//9E9rW7duHdfPZPPmzbUf/vCHtT/+4z8efe3trv/kk0/WbrvtttrIyEjt2WefrX35y18es7pgqir9TsJEMmGXXrS2to7O3rz73e/O3LlzMzg4mP7+/ixZsiRJsmTJknF5VHalUskJJ5yQJDlw4EAOHDiQSqWSzZs3Z/HixUmSpUuXjttju7dv356NGzdm2bJlSZJardawWkoa8TPas2dP/vmf/zkXX3xxkqS5uTknnnhiQ2r5Zc8880xOOeWUzJ49uyH1jIyM5I033shfzVRiAAAcCUlEQVSBAwfyxhtvZNasWQ3pLy+//HLOPPPMHH/88Wlqasr73ve+/MM//MO4fiZnn332W2ar3+76TzzxRD7ykY+kUqnkPe95T3bv3p2hoaExqw2motLvJEwkE3bpxZtt27YtL774Ys4888wMDw+ntbU1STJr1qwMDw+PSw0jIyP50pe+lFdeeSUf//jHM2fOnEyfPj1NTU1JfvHQlfF6bPc3vvGNXHHFFdm7d2+SZOfOnQ2rJUluu+22JMlHP/rRVKvVhvyMtm3blpkzZ+aee+7JT37yk8yfPz9XXnllw/rLmz366KP50Ic+lCTjXk9bW1s++clP5pprrslxxx2XD3zgA5k/f35D+su8efPyrW99Kzt37sxxxx2XTZs2ZcGCBQ3/Gb3d9QcHB9PR0TG6X3t7ewYHB0f3BWDym/BBed++fVm9enWuvPLKTJ8+/aD3KpVKKpXKuNQxbdq03HHHHdm9e3fuvPPObNmyZVyu+8uefPLJtLS0ZP78+dm8eXNDanizr371q2lra8vw8HBuvfXWtzyCdLx+RgcOHMiLL76Yq666KmeddVbWrVuX3t7ehtTyZvv378+TTz6Zyy+//C3vjUc9u3btSn9/f9auXZvp06fn61//ep566qkxvebbOfXUU/PpT386t956a0444YScfvrpmTbt4C+1GvEzmkjXB2BimdBBef/+/Vm9enU+/OEP5/zzz0+StLS0ZGhoKK2trRkaGsrMmTPHtaYTTzwx55xzTp577rns2bMnBw4cSFNTUwYHB4uP7a63Z599Nk888UQ2bdqUN954I3v37s03vvGNhtSSZPQ6LS0tWbRoUV544YWG/Iza29vT3t6es846K0myePHi9Pb2Nry/bNq0KWeccUZmzZqVZPz77zPPPJOTTz559Drnn39+nn322Yb1l4svvnh0eczf/u3fpr29veE/o7e7fltbWwYGBkb32759+7h9TgBMDBN2jXKtVsu9996buXPn5hOf+MTo611dXdmwYUOSZMOGDVm0aNGY1/Kzn/0su3fvTvKLO2A8/fTTmTt3bs4555w8/vjjSZKHH354XB7bffnll+fee+/N2rVrc/311+c3fuM3ct111zWkln379o0u/9i3b1+efvrpnHbaaQ35Gc2aNSvt7e2jM/3PPPNMTj311IbU8mZvXnaRjH//7ejoyPPPP5/XX389tVpt9HNpRH9JMrqsYWBgIN///vdz4YUXNvxn9HbX7+rqyiOPPJJarZbnnnsu06dPt+wCYIqZsA8c+Zd/+ZesWrUqp5122uhXoZdddlnOOuus9PT0ZGBgYNxur/WTn/wka9euzcjISGq1Wj74wQ/md3/3d/Pqq69mzZo12bVrV84444xce+21ede73jWmtbzZ5s2b853vfCc33nhjQ2p59dVXc+eddyb5xdKHCy+8ML/zO7+TnTt3jvvPKEl+/OMf5957783+/ftz8sknZ+XKlanVag2pJfnF/zysXLkyf/Znfza6bKgRn80DDzyQxx57LE1NTTn99NNz9dVXZ3BwsCF9d9WqVdm5c2eam5vz2c9+NgsXLhzXz2TNmjX5wQ9+kJ07d6alpSUrVqzIokWLitev1Wq577778o//+I857rjjsnLlyixYsGBM6oKpqvQ7+a/fOsFEMGGDMgAANNKEXXoBAACNJCgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFDQfaod77rknGzduTEtLS1avXv2W92u1WtatW5dNmzbl+OOPz8qVKzN//vwxKRaAQzNuA9THIWeUly5dmptuuult39+0aVNeeeWV3HXXXfnc5z6Xv/zLv6xrgQAcGeM2QH0cMiifffbZmTFjxtu+/8QTT+QjH/lIKpVK3vOe92T37t0ZGhqqa5EAHD7jNkB9HHLpxaEMDg6mo6NjdLu9vT2Dg4NpbW19y759fX3p6+tLknR3d7/TSwNwFA533DZmA1PdOw7KR6JaraZarY5ub9myZTwv33AdHR0ZGBhodBnjSpunhqnW5s7OzkaXMC6M2VOrXyfaPFVMxTYf7bj9ju960dbWdtCHvX379rS1tb3T0wIwRozbAIfnHQflrq6uPPLII6nVannuuecyffr04rILACYG4zbA4Tnk0os1a9bkBz/4QXbu3Jmrr746K1asyP79+5MkH/vYx/Kbv/mb2bhxY6677rocd9xxWbly5ZgXDcDbM24D1EelVqvVGnVx690mP22eGqZam6fKGuVfZsye/LR5apiKbW7YGmUAAJiMBGUAACgQlAEAoEBQBgCAAkEZAAAKBGUAACgQlAEAoEBQBgCAAkEZAAAKBGUAACgQlAEAoEBQBgCAAkEZAAAKBGUAACgQlAEAoEBQBgCAAkEZAAAKBGUAACgQlAEAoEBQBgCAAkEZAAAKBGUAACgQlAEAoEBQBgCAAkEZAAAKBGUAACgQlAEAoEBQBgCAAkEZAAAKBGUAACgQlAEAoEBQBgCAAkEZAAAKBGUAACgQlAEAoEBQBgCAAkEZAAAKBGUAACgQlAEAoEBQBgCAAkEZAAAKBGUAACgQlAEAoEBQBgCAAkEZAAAKBGUAACgQlAEAoEBQBgCAAkEZAAAKBGUAAChoPpydnnrqqaxbty4jIyNZtmxZli9fftD7AwMDWbt2bXbv3p2RkZFcfvnlOe+888akYAB+NWM2QH0cMiiPjIzkvvvuy1e+8pW0t7fny1/+crq6unLqqaeO7vM//+f/zAc/+MF87GMfy0svvZTbb7/doAvQAMZsgPo55NKLF154IaecckrmzJmT5ubmXHDBBenv7z9on0qlkj179iRJ9uzZk9bW1rGpFoBfyZgNUD+HnFEeHBxMe3v76HZ7e3uef/75g/b5vd/7vdx66635X//rf+X111/Pn/zJn9S/UgAOyZgNUD+HtUb5UB599NEsXbo0n/zkJ/Pcc8/l7rvvzurVqzNt2sET1n19fenr60uSdHd3p6Ojox6XP2Y0Nzdr8xSgzUx0xuzDMxX7tTZPDVOxzUfrkEG5ra0t27dvH93evn172traDtpn/fr1uemmm5Ik73nPe/Lzn/88O3fuTEtLy0H7VavVVKvV0e2BgYF3VPyxpqOjQ5unAG2e/Do7OxtdwtsyZtfPVOvXiTZPFVOxzUc7bh9yjfKCBQuydevWbNu2Lfv3789jjz2Wrq6ug/bp6OjIP/3TPyVJXnrppfz85z/PzJkzj6ogAI6eMRugfg45o9zU1JSrrroqt912W0ZGRnLRRRdl3rx5uf/++7NgwYJ0dXXls5/9bP78z/88f/d3f5ckWblyZSqVypgXD8DBjNkA9VOp1Wq1Rl18y5Ytjbp0Q0zFrzq0eWqYam2eyEsvxpIxe/LT5qlhKrZ5zJZeAADAVCQoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAQfPh7PTUU09l3bp1GRkZybJly7J8+fK37PPYY4/lf/yP/5FKpZJf//Vfzx/90R/VvVgADs2YDVAfhwzKIyMjue+++/KVr3wl7e3t+fKXv5yurq6ceuqpo/ts3bo1vb29+epXv5oZM2ZkeHh4TIsGoMyYDVA/h1x68cILL+SUU07JnDlz0tzcnAsuuCD9/f0H7fPQQw/l4x//eGbMmJEkaWlpGZtqAfiVjNkA9XPIGeXBwcG0t7ePbre3t+f5558/aJ8tW7YkSf7kT/4kIyMj+b3f+72ce+65dS4VgEMxZgPUz2GtUT6UkZGRbN26NTfffHMGBwdz8803584778yJJ5540H59fX3p6+tLknR3d6ejo6Melz9mNDc3a/MUoM1MdMbswzMV+7U2Tw1Tsc1H65BBua2tLdu3bx/d3r59e9ra2t6yz1lnnZXm5uacfPLJ+bVf+7Vs3bo1Z5555kH7VavVVKvV0e2BgYF3Wv8xpaOjQ5unAG2e/Do7OxtdwtsyZtfPVOvXiTZPFVOxzUc7bh9yjfKCBQuydevWbNu2Lfv3789jjz2Wrq6ug/b5rd/6rWzevDlJ8rOf/Sxbt27NnDlzjqogAI6eMRugfg45o9zU1JSrrroqt912W0ZGRnLRRRdl3rx5uf/++7NgwYJ0dXXlAx/4QP7xH/8xN9xwQ6ZNm5YrrrgiJ5100njUD8CbGLMB6qdSq9Vqjbr4v/5ByVQxFb/q0OapYaq1eSIvvRhLxuzJT5unhqnY5jFbegEAAFORoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWCMgAAFAjKAABQICgDAECBoAwAAAWHFZSfeuqp/NEf/VGuvfba9Pb2vu1+jz/+eFasWJEf/vCHdSsQgCNjzAaoj0MG5ZGRkdx333256aab0tPTk0cffTQvvfTSW/bbu3dv/v7v/z5nnXXWmBQKwKEZswHq55BB+YUXXsgpp5ySOXPmpLm5ORdccEH6+/vfst/999+fT3/603nXu941JoUCcGjGbID6OWRQHhwcTHt7++h2e3t7BgcHD9rnRz/6UQYGBnLeeefVv0IADpsxG6B+mt/pCUZGRvJXf/VXWbly5SH37evrS19fX5Kku7s7HR0d7/Tyx5Tm5mZtngK0mYnMmH34pmK/1uapYSq2+WgdMii3tbVl+/bto9vbt29PW1vb6Pa+ffvy05/+NP/5P//nJMmOHTvyta99LV/84hezYMGCg85VrVZTrVZHtwcGBt5xA44lHR0d2jwFaPPk19nZ2egS3pYxu36mWr9OtHmqmIptPtpx+5BBecGCBdm6dWu2bduWtra2PPbYY7nuuutG358+fXruu+++0e1bbrkln/nMZ94y4AIw9ozZAPVzyKDc1NSUq666KrfddltGRkZy0UUXZd68ebn//vuzYMGCdHV1jUedABwGYzZA/VRqtVqtURffsmVLoy7dEFPxqw5tnhqmWpsn8tKLsWTMnvy0eWqYim0+2nHbk/kAAKBAUAYAgAJBGQAACgRlAAAoEJQBAKBAUAYAgAJBGQAACgRlAAAoEJQBAKBAUAYAgAJBGQAACgRlAAAoEJQBAKBAUAYAgAJBGQAACgRlAAAoEJQBAKBAUAYAgAJBGQAACgRlAAAoEJQBAKBAUAYAgAJBGQAACgRlAAAoEJQBAKBAUAYAgAJBGQAACgRlAAAoEJQBAKBAUAYAgAJBGQAACgRlAAAoEJQBAKBAUAYAgAJBGQAACgRlAAAoEJQBAKBAUAYAgAJBGQAACgRlAAAoEJQBAKBAUAYAgAJBGQAACgRlAAAoEJQBAKBAUAYAgAJBGQAACgRlAAAoEJQBAKBAUAYAgAJBGQAACpoPZ6ennnoq69aty8jISJYtW5bly5cf9P6DDz6Yhx56KE1NTZk5c2auueaazJ49e0wKBuBXM2YD1MchZ5RHRkZy33335aabbkpPT08effTRvPTSSwftc/rpp6e7uzt33nlnFi9enG9+85tjVjAAb8+YDVA/hwzKL7zwQk455ZTMmTMnzc3NueCCC9Lf33/QPr/xG7+R448/Pkly1llnZXBwcGyqBeBXMmYD1M8hl14MDg6mvb19dLu9vT3PP//82+6/fv36nHvuucX3+vr60tfXlyTp7u5OR0fHkdZ7TGtubtbmKUCbaSRjdv1MxX6tzVPDVGzz0TqsNcqH65FHHsmPfvSj3HLLLcX3q9VqqtXq6PbAwEA9Lz/hdXR0aPMUoM2TX2dnZ6NLqAtj9q821fp1os1TxVRs89GO24dcetHW1pbt27ePbm/fvj1tbW1v2e/pp5/Ot7/97Xzxi1/Mu971rqMqBoB3xpgNUD+HDMoLFizI1q1bs23btuzfvz+PPfZYurq6DtrnxRdfzF/8xV/ki1/8YlpaWsasWAB+NWM2QP0cculFU1NTrrrqqtx2220ZGRnJRRddlHnz5uX+++/PggUL0tXVlW9+85vZt29fvv71ryf5xZT+l770pTEvHoCDGbMB6qdSq9Vqjbr4li1bGnXphpiKa4K0eWqYam2eLGuUj5Qxe/LT5qlhKrZ5zNYoAwDAVCQoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAgaAMAAAFgjIAABQIygAAUCAoAwBAQfPh7PTUU09l3bp1GRkZybJly7J8+fKD3v/5z3+eP/uzP8uPfvSjnHTSSbn++utz8sknj0nBAPxqxmyA+jjkjPLIyEjuu+++3HTTTenp6cmjjz6al1566aB91q9fnxNPPDF33313Lr300vzN3/zNmBUMwNszZgPUzyGD8gsvvJBTTjklc+bMSXNzcy644IL09/cftM8TTzyRpUuXJkkWL16cf/qnf0qtVhuTggF4e8ZsgPo5ZFAeHBxMe3v76HZ7e3sGBwffdp+mpqZMnz49O3furHOpAByKMRugfg5rjXK99PX1pa+vL0nS3d2dzs7O8bz8hKDNU4M2MxkYs6dmv9bmqWEqtvloHHJGua2tLdu3bx/d3r59e9ra2t52nwMHDmTPnj056aST3nKuarWa7u7udHd358Yb///27i+kqf+P4/hzWQoirsKKLiJo6EUFhY0ggqiIuisQKojqwqtahSG1fhb9I0QIkiAXjpDIO+mimy7yQgkr8aLM/hj0R4UmLmJUJBuj2fn8Lr4k9ms/dr56ttO21+PKuQO+X+zsxQfP2T7/mevseUeZi4MyF76/Oa862znKXByUuTjMNnPGhbLP5yMajfL582empqbo7+/H7/f/dsyGDRt4+PAhAAMDA6xZswaPxzOrgUREZPbU2SIizsl460VJSQn19fU0NzdjWRbbtm1jxYoVdHV14fP58Pv9bN++nba2Nk6cOEFFRQUnT57MxewiIvI/1NkiIs6xdY9ybW0ttbW1v/1u//790z+XlpbS2Nj4r/7wjh07/tXxhUCZi4MyF76/Pa862xnKXByUuTjMNrPH6DuBRERERET+oC2sRURERETSyPrXwxXjVqqZMt+/f5+enh5KSkqorKzk6NGjLFmyxKVpnZEp8y8DAwO0trbS0tKCz+fL8ZTOsZO3v7+fu3fv4vF4WLlyJQ0NDS5M6pxMmWOxGKFQiHg8jmVZHDhw4I/L//nm5s2bDA4O4vV6uXbt2h/PG2O4ffs2z58/p6ysjEAgwKpVq1yY1DnqbHX2TIXS2aDeLobezkpnmyz6+fOnOX78uPn06ZNJpVLm1KlTJhKJ/HbMgwcPTDgcNsYY8/jxY9Pa2prNkbLOTuZXr16ZZDJpjDGmu7u7KDIbY0wikTAXLlwwZ8+eNR8+fHBhUmfYyTsxMWFOnz5tJicnjTHGfPv2zY1RHWMnc3t7u+nu7jbGGBOJREwgEHBjVEcNDw+bkZER09jYmPb5Z8+emebmZmNZlnn79q1pamrK8YTOUmers2cqlM42Rr1dLL2djc7O6q0XxbiVqp3Ma9eupaysDIDq6uo/ds3KN3YyA3R1dbFnzx4WLFjgwpTOsZO3p6eHXbt2UVFRAYDX63VjVMfYyezxeEgkEgAkEgkWLVrkxqiOWr169fRrmM7Tp0/ZsmULHo+Hmpoa4vE4X79+zeGEzlJnq7NnKpTOBvV2sfR2Njo7qwvlYtxK1U7mmXp7e1m/fn0uRssaO5lHR0eJxWJ5fUnnFzt5JyYmiEajnD9/nnPnzjE0NJTrMR1lJ/PevXt59OgRR44coaWlhfr6+lyPmXNfvnyhqqpq+nGm9/vfTp2tzv6lkDob1Nug3obZdbY+zOeivr4+RkdH2b17t9ujZJVlWXR2dnL48GG3R8kZy7KIRqNcvHiRhoYGwuEw8Xjc7bGy6smTJ2zdupX29naampq4ceMGlmW5PZaIY9TZhU29rd5OJ6sLZSe3Us0XdjIDvHz5knv37hEMBvP+slamzMlkkkgkwuXLlzl27Bjv37/n6tWrjIyMuDHunNk9r/1+P/Pnz2fp0qUsX76caDSa61EdYydzb28vmzZtAqCmpoZUKpXX/2m0Y/HixcRisenH/+/9ni/U2epsKLzOBvU2qLdhdp2d1YVyMW6laifz2NgYt27dIhgM5v09UJA5c3l5OR0dHYRCIUKhENXV1QSDwbz9BLWd13jjxo0MDw8D8P37d6LRKMuWLXNjXEfYyVxVVcXr168BGB8fJ5VKUVlZ6ca4OeP3++nr68MYw7t37ygvL8/re/zU2epsKLzOBvW2evsfs+nsrG84Mjg4yJ07d6a3Uq2rq/ttK9UfP37Q1tbG2NjY9Faq+XxiQubMV65c4ePHjyxcuBD450Q9c+aMy1PPTabMM126dIlDhw7ldelmymuMobOzk6GhIebNm0ddXR2bN292e+w5yZR5fHyccDhMMpkE4ODBg6xbt87lqefm+vXrvHnzhsnJSbxeL/v27WNqagqAnTt3Yoyho6ODFy9eUFpaSiAQyOvzGtTZ6uzC7GxQbxdDb2ejs7Uzn4iIiIhIGvown4iIiIhIGlooi4iIiIikoYWyiIiIiEgaWiiLiIiIiKShhbKIiIiISBpaKIuIiIiIpKGFsoiIiIhIGlooi4iIiIik8V9A9MFTouNjEAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 864x864 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#一元通用函数计算\r\n",
    "#虚拟三个班，60个学生的成绩，作为运算对象\r\n",
    "import numpy as np \r\n",
    "np.random.seed(10)\r\n",
    "stu=np.random.randint(20,100,150).reshape(3,50)\r\n",
    "print(\"分班成绩排序：\",np.sort(stu))\r\n",
    "stu_all=stu.flatten()\r\n",
    "print(\"将多维成绩数组变更为一维数组，并排序：\",np.sort(stu_all))\r\n",
    "import matplotlib.pyplot as plt\r\n",
    "plt.style.use(\"ggplot\")\r\n",
    "fig,axes=plt.subplots(2,2)\r\n",
    "fig.set_size_inches(12,12)\r\n",
    "ax1=axes[0,0]\r\n",
    "ax1.hist(stu_all)\r\n",
    "ax2=axes[0,1]\r\n",
    "ax2.boxplot(stu_all)\r\n",
    "def descStu(arr):\r\n",
    "    avg=np.mean(arr)\r\n",
    "    std=np.std(arr)\r\n",
    "    var=np.var(arr)\r\n",
    "    max_s=np.max(arr)\r\n",
    "    min_s=np.min(arr)\r\n",
    "    med_s=np.median(arr)\r\n",
    "    return avg,std,var,max_s,min_s,med_s\r\n",
    "#计算三个班的总成绩平均值，标准差，方差，最高分，最低分，中位数\r\n",
    "avg_s,std_s,var_s,max_s,min_s,med_s=descStu(stu)\r\n",
    "\r\n",
    "print(\"三个班总的成绩平均值为：\",avg_s,\"标准差为：\",std_s,\"方差为：\",var_s,\"最高分为：\",max_s,\"最低分为：\",min_s,\"中位数为：\",med_s)\r\n",
    "print(\"三个班总的成绩平均值为(四舍五入）：\",np.rint(avg_s),\"标准差为(向上取整）：\",np.ceil(std_s),\"方差为（向下取整）：\",np.floor(var_s),\"最高分为：\",max_s,\"最低分为：\",min_s,\"中位数为：\",med_s)\r\n",
    "print(\"每一个班的最高成绩：\",stu.max(axis=1))#实现对每一行的数据进行聚合\r\n",
    "print(\"每一个班的平均成绩：\",stu.mean(axis=0))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "py35-paddle1.2.0"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
